package com.linxiao.hrcrm.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 客户关系对象 crm_customer_relationship
 * 
 * @author zhoudong
 * @date 2024-01-03
 */
public class CrmCustomerRelationship extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 关系状态：活跃 */
    public static final String RELATIONSHIP_STATUS_ACTIVE = "ACTIVE";
    /** 关系状态：不活跃 */
    public static final String RELATIONSHIP_STATUS_INACTIVE = "INACTIVE";
    /** 关系状态：待确认 */
    public static final String RELATIONSHIP_STATUS_PENDING = "PENDING";
    /** 关系状态：存档 */
    public static final String RELATIONSHIP_STATUS_ARCHIVED = "ARCHIVED";

    /** 未联系 */
    public static final String CUSTOMER_STATE_WEILIANXI = "WEILIANXI";
    /** 加微信 */
    public static final String CUSTOMER_STATE_WX = "WX";
    /** 初访 */
    public static final String CUSTOMER_STATE_CHUFANG = "CHUFANG";
    /** 意向 */
    public static final String CUSTOMER_STATE_YIXIANG = "YIXIANG";
    /** 报价 */
    public static final String CUSTOMER_STATE_BAOJIA = "BAOJIA";
    /** 成交 */
    public static final String CUSTOMER_STATE_CHENGJIAO = "CHENGJIAO";
    /** 暂时搁置 */
    public static final String CUSTOMER_STATE_ZANSHIGEZHI = "ZANSHIGEZHI";
    /** 需要细化方案 */
    public static final String CUSTOMER_STATE_XVYAOXIHUAFANGAN = "XVYAOXIHUAFANGAN";
    /** 需要价格优惠 */
    public static final String CUSTOMER_STATE_XVYAOJIAGEYOUHUI = "XVYAOJIAGEYOUHUI";
    /** 需要上门服务 */
    public static final String CUSTOMER_STATE_XVYAOSHANGMEN = "XVYAOSHANGMEN";
    /** 搁置 */
    public static final String CUSTOMER_STATE_GEZHI = "GEZHI";
    /** 合作中 */
    public static final String CUSTOMER_STATE_HEZUOZHONG = "HEZUOZHONG";

    /** 主键 */
    private Long id;

    /** 商户ID */
    @Excel(name = "商户ID")
    private Long mchId;

    /** 客户ID */
    @Excel(name = "客户ID")
    private Long customerId;

    /** 昵称备注 */
    @Excel(name = "昵称备注")
    private String nameNotes;

    /** 员工ID */
    @Excel(name = "员工ID")
    private Long employeeId;

    /** 添加来源 */
    @Excel(name = "添加来源")
    private String source;

    /** 标签 */
    @Excel(name = "标签")
    private String tags;

    /** 自定义参数 */
    @Excel(name = "自定义参数")
    private String customParams;

    /** 关系状态 */
    @Excel(name = "关系状态")
    private String relationshipStatus;

    /** 客户状态 */
    @Excel(name = "客户状态")
    private String customerState;

    @Excel(name = "客户实体", isExport = false)
    private CrmCustomer customer;

    @Excel(name = "标签集合", isExport = false)
    private List<String> tagList;

    /** 员工名称，只做展示使用 */
    @Excel(name = "员工名称")
    private String employeeName;

    /** 客户姓名，只做展示使用 */
    @Excel(name = "客户姓名")
    private String customerName;

    /** 手机号，只做展示使用 */
    @Excel(name = "手机号", isExport = false)
    private String phoneNumber;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setMchId(Long mchId) 
    {
        this.mchId = mchId;
    }

    public Long getMchId() 
    {
        return mchId;
    }
    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }
    public void setEmployeeId(Long employeeId) 
    {
        this.employeeId = employeeId;
    }

    public Long getEmployeeId() 
    {
        return employeeId;
    }
    public void setSource(String source) 
    {
        this.source = source;
    }

    public String getSource() 
    {
        return source;
    }
    public void setTags(String tags) 
    {
        this.tags = tags;
    }

    public String getTags() 
    {
        return tags;
    }
    public void setCustomParams(String customParams) 
    {
        this.customParams = customParams;
    }

    public String getCustomParams() 
    {
        return customParams;
    }
    public void setRelationshipStatus(String relationshipStatus) 
    {
        this.relationshipStatus = relationshipStatus;
    }

    public String getRelationshipStatus() 
    {
        return relationshipStatus;
    }

    public String getCustomerState() {
        return customerState;
    }

    public void setCustomerState(String customerState) {
        this.customerState = customerState;
    }

    public CrmCustomer getCustomer() {
        return customer;
    }

    public void setCustomer(CrmCustomer customer) {
        this.customer = customer;
    }

    public List<String> getTagList() {
        return tagList;
    }

    public void setTagList(List<String> tagList) {
        this.tagList = tagList;
    }

    public String getEmployeeName() {
        return employeeName;
    }

    public void setEmployeeName(String employeeName) {
        this.employeeName = employeeName;
    }

    public String getNameNotes() {
        return nameNotes;
    }

    public void setNameNotes(String nameNotes) {
        this.nameNotes = nameNotes;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    @Override
    public String toString() {
        return "CrmCustomerRelationship{" +
                "id=" + id +
                ", mchId=" + mchId +
                ", customerId=" + customerId +
                ", nameNotes='" + nameNotes + '\'' +
                ", employeeId=" + employeeId +
                ", source='" + source + '\'' +
                ", tags='" + tags + '\'' +
                ", customParams='" + customParams + '\'' +
                ", relationshipStatus='" + relationshipStatus + '\'' +
                ", customerState='" + customerState + '\'' +
                ", customer=" + customer +
                ", tagList=" + tagList +
                ", employeeName='" + employeeName + '\'' +
                '}';
    }
}
